﻿//using Furion.DynamicApiController;

//namespace Services;

///// <summary>
///// 商户端带增删改的基类
///// </summary>
///// <typeparam name="T"></typeparam>
//public partial class BaseStoreService<T> : BaseServices<T>, IDynamicApiController where T : RedPacket.Entity.Store.BaseStoreEntity, new()
//{
//    private readonly ISqlSugarClient db;

//    /// <summary>
//    /// 
//    /// </summary>
//    /// <param name="db"></param>
//    public BaseStoreService(ISqlSugarClient db) : base(db)
//    {
//        this.db = db;
//    }

//    /// <summary>
//    /// 删除
//    /// </summary>
//    /// <param name="id"></param>
//    /// <returns></returns>
//    public virtual async Task<object> Remove(int id)
//    {
//        bool state = await db.Deleteable<T>().Where(x => x.Id == id).ExecuteCommandHasChangeAsync();

//        return Msg(state);
//    }

//    /// <summary>
//    /// 获取分页数据
//    /// </summary>
//    /// <returns></returns>
//    public override async Task<object> GetPage()
//    {
//        string search = SearchStr;

//        var data = await db.Queryable<T>()

//            .WhereIF(search.Length > 0, search)

//            .Where(x => x.StoreId == STOREID)

//            .OrderByDescending(x => x.Id)

//            .ToPagedListAsync(PageNo, PageSize);

//        return Ok(data);

//    }

//    /// <summary>
//    /// 编辑数据
//    /// </summary>
//    /// <param name="t"></param>
//    /// <returns></returns>
//    public override async Task<object> Edit(T t)
//    {
//        bool state = false;

//        t.StoreId = STOREID;

//        if (t.Id == 0)
//        {
//            state = await db.Insertable(t).ExecuteCommandAsync() > 0;
//        }
//        else
//        {
//            state = await db.Updateable(t).ExecuteCommandHasChangeAsync();
//        }

//        return Msg(state);
//    }

//    /// <summary>
//    /// 获取单条数据
//    /// </summary>
//    /// <param name="id"></param>
//    /// <returns></returns>
//    public override async Task<object> GetOne(int id)
//    {
//        return Ok(await db.Queryable<T>().Where(x => x.Id == id && x.StoreId == STOREID).FirstAsync());
//    }

//    /// <summary>
//    /// 商户端获取单条数据
//    /// </summary>
//    /// <returns></returns>
//    public virtual async Task<object> StoreOne()
//    {
//        var data = await db.Queryable<T>().FirstAsync(x => x.StoreId == STOREID);

//        return Ok(data);
//    }

//}

